<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Monkey PHP Framework</title>
<link type="text/css" href="statics/css/base.css" rel="stylesheet" />
<script type="text/javascript" src="statics/js/jquery.min.js"></script>
<!--prettify-->
<link type="text/css" href="statics/css/prettify.css" rel="stylesheet" />
<script type="text/javascript" src="statics/js/prettify.js"></script>
<script type="text/javascript" src="statics/js/html5.js"></script>
<script type="text/javascript" src="statics/js/monkey.js"></script>
</head>

<body>
<!--page_wrap:start-->
<div class="page_wrap">

<p>
<h2>1.9  视图</h2>
<br />
在 MVC 中，视图和模型是平等的，独立的，互不关联的。<br />
MonkeyPHP 的视图也是遵循只完成将控制器输出内容变得更丰富的原则，其使用方法有下面的三个步骤：<br /><br />

<b>step1．初始化模板对象并保存到一个变量中。</b><br />
如：$tpl=new Monkey\Template($dirOfTemplate);<br />
或者 $tpl= oNewTemplate($dirOfTemplate);<br />
其中， $tpl 是保存模板对象的变量， $dirOfTemplate是模板文件保存的目录。<br /><br />

<b>step2．为模板赋值。</b><br />
如：$tpl->assign('title','欢迎来到 MonkeyPHP 框架');<br />
其中， assign 是模板类的赋值方法，第一个参数 title 是模板中的变量名，第二个参数是这个变量的值，合起来的意思是使得模板中'title'变量的值为'欢迎来到 MonkeyPHP 框架'；<br /><br />

<b>step3．输出模板。</b><br />
如：$tpl->display('example.htm');
其中，display 为模板类的显示模板文件的方法，example.htm 是要载入的模板文件，它必须放在第一步指定的目录中。<br /><br />

<b>标签方案</b><br />
MonkeyPHP 的模板类和标签方案是分离的，可以配置中设置默认标签方案（配置位置 oApp()->labelSet;）。
标签方案目前只提供了 MonkeyLabel 方案，你可以仿照加入其它方案，比如 dede 的、ThinkPHP 的等等。<br />
除了配置中可以指定默认标签方案外，在模板使用的第一步还可以指定临时的其它方案，<br />
如$tpl=new Monkey\Template($dirOfTemplate, $myLabelType);<br />
或者 $tpl= oNewTemplate($dirOfTemplate, $myLabelType);<br />
这里叫临时使用的原因是，$myLabelType只有在生成的当前对象中起作用，而不影响其它对象。<br />
<b>注：</b>$tpl=new Monkey\Template($dirOfTemplate);相当于$tpl=new Monkey\Template($dirOfTemplate, oApp()->labelSet);
<br /><br />

<b>技巧：</b><br />
控制器中用到的模板，一般都放在控制器的构造方法中初始化为类的属性。<br/>
与模块相关的模板，一般放在模块类中生成，然后赋值给控制器属性即可。


</p>

</div>
<!--page_wrap:end-->
</body>
</html>